//
//  HFCalendarHelper.h
//  HFCalendar
//
//  Created by Luffy on 2021/8/24.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@class HFCalendarModel;

typedef NS_ENUM(NSUInteger, HFDateWithTodayType) {
    HFDateEqualToToday = 1,  // 当天
    HFDateEarlierThanToday,  // 早于当天
    HFDateLaterThanToday,    // 晚于当天
};

@interface HFCalendarHelper : NSObject

/// 日历开始时间（时间格式:yyyy年MM月dd日） 默认1970年01月01日
@property (nonatomic, copy) NSString *customDateStartDate;
/// 日历结束时间（时间格式:yyyy年MM月dd日） 默认今天
@property (nonatomic, copy) NSString *customDateEndDate;

/// 日历对象
- (NSCalendar *)calendar;

/// yyyy年
- (NSDateFormatter *)yearFormatter;
/// yyyy年MM月
- (NSDateFormatter *)yearAndMonthFormatter;
/// yyyy年MM月dd日
- (NSDateFormatter *)yearMonthAndDayFormatter;

/// 日期和当天的关系
- (HFDateWithTodayType)whetherForTodayWithIndexPath:(NSIndexPath *)indexPath model:(HFCalendarModel *)model;

/// 生成自定义dateFormatter
+ (NSDateFormatter *)createFormatterWithDateFormat:(NSString *)dateFormat;

+ (instancetype)defaultManager;

@end

NS_ASSUME_NONNULL_END
